package org.dromara.system.domain.vo;

import java.math.BigDecimal;

import org.dromara.system.domain.PayGroupAccount;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;


/**
 * 轮询组收款账号视图对象 pay_app_account
 *
 * @author Gavino
 * @date 2024-10-22
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = PayGroupAccount.class)
public class PayGroupAccountVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 收款账号ID
     */
    private Long accountId;

    /**
     * 账号名称
     */
    private String accountName;

    /**
     * 状态
     */
    @ExcelProperty(value = "状态")
    private Integer status;

    /**
     * 总额度
     */
    @ExcelProperty(value = "总额度")
    private BigDecimal totalLimit;

    /**
     * 剩余额度
     */
    @ExcelProperty(value = "剩余额度")
    private BigDecimal limitMoney;

    /**
     * 额度增长率
     */
    @ExcelProperty(value = "额度增长率")
    private Integer increaseRate;

    /**
     * 额度刷新时间
     */
    @ExcelProperty(value = "额度刷新时间")
    private String refreshTime;

    /**
     * 是否自动上线
     */
    @ExcelProperty(value = "是否自动上线")
    private Integer autoUp;

    /**
     * 最小订单金额
     */
    @ExcelProperty(value = "最小订单金额")
    private BigDecimal minMoney;

    /**
     * 最大订单金额
     */
    @ExcelProperty(value = "最大订单金额")
    private BigDecimal maxMoney;

    /**
     * 价格插件
     */
    private String pricePlugin;

    /**
     * 强制修改价格
     */
    private Integer priceForce;

    /**
     * 收款总金额
     */
    @ExcelProperty(value = "收款总金额")
    private BigDecimal totalMoney;

    /**
     * API类型
     */
    @ExcelProperty(value = "API类型")
    private String apiType;

    /**
     * 支付方式
     */
    @ExcelProperty(value = "支付方式")
    private Integer payMethod;

    /**
     * 收款方式
     */
    @ExcelProperty(value = "收款方式")
    private String receiveList;

    /**
     * 是否强制货币
     */
    @ExcelProperty(value = "是否强制货币")
    private Integer isForce;

    /**
     * 强制货币类型
     */
    @ExcelProperty(value = "强制货币类型")
    private String forceCurrency;

    /**
     * 黑名单国家
     */
    @ExcelProperty(value = "黑名单国家")
    private String blackCountry;

    /**
     * 失败次数限制
     */
    @ExcelProperty(value = "失败次数限制")
    private Integer failLimit;

    /**
     * 排序
     */
    @ExcelProperty(value = "排序")
    private Integer sort;

    /**
     * 自定义字段
     */
    private String customFields;

    /**
     * 商户名称
     */
    @ExcelProperty(value = "商户名称")
    private String clientName;

    /**
     * 代理名称
     */
    @ExcelProperty(value = "代理名称")
    private String agentName;


}
